Nearly every setting is increasingly populated with wireless and mobile devices—whether appliances in a home, medical devices in a health clinic, sensors in an industrial setting, or devices in an office or school. There are three fundamental operations when bringing a new device into any of these settings: (1) to configure the device to join the wireless local-area network, (2) to partner the device with other nearby devices so they can work together, and (3) to configure the device so it connects to any relevant individual or organizational account in the cloud.
Recently, predictions have been made of how the Internet of Things (IoT) is poised to make billions of everyday objects “smart” by adding wireless communication capabilities. The dream is that networks of these newly connection-enabled devices will give us greater insight into the behavior of complex systems than previously possible. The reality, however, is that configuring and managing billions of devices is extremely difficult.
As an illustration in the healthcare domain, imagine that a general-practice physician tells a patient that he'd like the patient to take home a wireless blood-pressure monitor and use it every day so that the physician can remotely monitor the patient's health. The intention is that the blood-pressure measurements taken by the patient while at home will end up stored in the patient's Electronic Health Record (EHR) at the physician's clinic. The physician can then see the patient's blood pressure on a daily basis and get automated alarms if any abnormal readings are recorded. At least three problems arise in making scenarios such as at-home blood-pressure monitoring a reality.
A first problem is that blood-pressure monitors, like many IoT sensors, do not come with long-range communication connections; they have only short-range radios such as Wi-Fi, Bluetooth, or Zigbee. The blood-pressure monitor must somehow get connected with other devices in the home such as a Wi-Fi access point (AP) in order to transmit its medical data to the physician's EHR system. Making those connections is difficult for many people, especially considering that different types of devices from different manufacturers often have different methods of making a connection and that the devices themselves often have very limited user interfaces.
A second problem with this blood-pressure scenario is that once a connection is made between the blood-pressure monitor and a device capable of transmitting data long distances, the blood-pressure readings must get to the right patient record in the right physician's EHR system. This implies that the blood-pressure readings must be augmented with additional credentials (e.g., patient ID, password) and destination information (e.g., a Restful API URL).
A third problem arises when devices partner with other nearby devices so they can work together in a peer-to-peer fashion, such as a blood-glucose monitor working with an insulin pump. In these peer-to-peer cases the devices may maintain a connection with a long-range communication device, but may also need a connection with neighboring devices using encryption based on a unique key for a specific pair of devices, rather than a common key shared by all devices. Establishing the encryption can be difficult if the devices have never met before and have never shared a secret key.